October 26, 2021
백준 18352번(특정 거리의 도시 찾기) 문제를 풀고 나니 이 문제는 거의 똑같아서 쉬웠다!
이 문제 역시 모든 간선의 거리가 1로 동일하기 때문에 BFS 알고리즘으로 풀이가 가능했다.
다만 그래프를 만들 때 양방향 연결이라는 것만 주의하면 된다.
from collections import deque
def solution(n, vertex):
graph = [[] for _ in range(n+1)]
values = [-1]*(n+1)
values[1] = 0
for v in vertex:
graph[v[0]].append(v[1])
graph[v[1]].append(v[0]) # 양방향 연결
deq = deque([1])
while deq:
now = deq.popleft()
for next in graph[now]:
if values[next] == -1:
values[next] = values[now]+1
deq.append(next)
m = max(values)
return values.count(m)